A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates to encryption of data and issuing licenses, such as fishing licenses. More specifically, the present invention relates to a method and an apparatus for generating and issuing license numbers based upon license parameters that allows the license number to later be authenticated by establishing that the license number was generated using the license parameters.
2. Related Art
The recent explosive growth of electronic commerce has led to a proliferation of web sites on the Internet selling products as diverse as toys, books and automobiles, and providing services, such as insurance and stock trading. Millions of consumers are presently surfing through web sites in order to gather information, to make purchases, or purely for entertainment.
Migrating a process (or a service) to the web can provide tremendous advantages because the process instantly becomes accessible from web browsers on millions of personal computers worldwide. Furthermore, by making the process available on a web site, users can interact with the process in an automated manner, without requiring assistance from a human service representative. This automation can dramatically reduce the cost of providing the process.
One process that so far has not been adapted to the web is the issuance of licenses, such as fishing licenses. Issuing licenses of this type provides a number of challenges. One challenge arises because people who are responsible for authenticating the licenses, such as fish and game representatives or park rangers, must be able to authenticate the license at remote locations, perhaps miles from the nearest telephone line. Consequently, the authenticators do not have access to a centralized database containing records of issued licenses. Furthermore, it is not practical to periodically download data from a centralized database because people commonly purchase licenses and use them on the same day. Hence, a previous download of license data may not contain a record of a recently issued license.
Furthermore, even if the authenticator has access to a portable computing device to perform the authentication, the authenticator may have to manually input the data to perform the authentication. This makes it impractical to input more than a small amount of data into the portable computing device to perform the authentication, because an authenticator is not likely to be willing to spend a great deal of time entering a large amount of data. Furthermore, in entering a large amount of data, an authenticator is more likely to make errors.
Hence, what is needed is a method and an apparatus for issuing and authenticating a license that enables an authenticator in the field to enter a small amount of data into a computing device in order to authenticate the license.
One embodiment of the present invention provides a system that generates a license number based upon license parameters so that the license number can be authenticated by establishing that the license number was generated using the license parameters. The system operates by receiving the license parameters from a person requesting a license. The system encodes these license parameters into a license number so that the license parameters can be restored by decoding the license number. Next, the system facilitates printing of the license for the person requesting the license. Note that this printed license includes the license number.
In one embodiment of the present invention, the system authenticates the license by receiving the license number, and decoding the license number to restore the license parameters. Next, the system displays the license parameters to a person authenticating the license, and then allows the person authenticating the license to verify the license parameters against information from a photo ID provided by a license holder.
In one embodiment of the present invention, the system receives the license parameters at a web site from a remote browser operated by the person requesting the license.
In one embodiment of the present invention, the system facilitates printing of the license by sending the license to the remote browser so that the person requesting the license can print out the license from the remote browser.
In one embodiment of the present invention, the license is a fishing license.
In one embodiment of the present invention, the license number is of a size less than 20 characters long so that it can be easily inputted by a human into a computer system so that the license number easily be authenticated.
In one embodiment of the present invention, the license parameters include at least one of: a license type, a valid time period for the license, a photo identification number, a unique sequence number generated by the system and added to the license parameters, a credit card number, an address of the person requesting the license, and information for additional family members to be included in the license.
In one embodiment of the present invention, encoding the license parameters involves using a pre-computed random permutation to perform the encoding.
In a variation on the above embodiment, the system additionally rotates a result of the pre-computed random permutation by a random rotation distance, and incorporates a rotation index specifying the random rotation distance into the license number.
In a variation on this embodiment, encoding the license parameters includes using a selected permutation from a set of pre-computed random permutations to perform the encoding, wherein the selected permutation is specified by a permutation identifier that is incorporated into the license number. The system may additionally rotate the permutation identifier by a second random rotation distance, and incorporate a second rotation index specifying the second random rotation distance into the license number.
In one embodiment of the present invention, the system additionally executes a payment transaction to receive a license fee from the person requesting the license.